home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1988 March / Ahoy_Magazine_88-03_1988_Double_L.d64 / Vee Kloros (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  6KB  |  146 lines

  1. 10 ifx=.thenx=1:load"kloros.obj",8,1
  2. 20 poke53281,.:poke53280,.:printchr$(8)chr$(142)chr$(144)chr$(147):goto190
  3. 30 pokes+u,q:pokes+f,o:forc=zto.step-u:pokes+u,c:fora=.toz:next:next
  4. 40 pokes+f,o-u:return
  5. 50 onfnb(.)goto90:x=h+(c=130)*-u:syssf,b(x):sc=sc+50*(ls+u):i$=str$(sc)
  6. 60 syspl,32,8:print"[158]";:gosub180
  7. 70 fori=.tof:pokevb+x,38+i:fora=.to40:next:next:pokevb+x,51:gosub30
  8. 80 return
  9. 90 pokes+u,k:pokes,o:pokes+f,l*w+z:pokev+f,peek(v):pokev+q,peek(v+u)-k
  10. 100 pokev+z,peek(v+z)orf:pokes+f,e*z+u:return
  11. 110 x=e+((c=z-uorc=l)*-u):syssb,x,38,f:systf,b(x):systc,h,rorb(x):pokev+39+x,u
  12. 120 gosub30:waitv+z,b(x),b(x):sc=sc+vx*(ls+u):i$=str$(sc):syspl,32,8:print"[158]";
  13. 130 gosub180:r=8+(t<w)*-16:syssb,x,43,7:systc,h,r:pokevb+x,50+(t>u)*n+(t>w)*-u
  14. 140 pokev+x*w+u,.:pokev+39+x,n-w:pokev+z,peek(v+z)orb(x):c=peek(vc):return
  15. 150 a=(rnd(u)*w)+e:x=fnx(.):i=fny(.)
  16. 160 sysmd,q,d(u+x,u+i):pokev+vx,peek(v+a*w):pokev+vy,peek(v+a*w+u)
  17. 170 pokev+z,peek(v+z)orb:return
  18. 180 printright$("00000"+(right$(i$,len(i$)-u)),q):a=fre(.):return
  19. 190 gosub1070:gosub1120:gosub740:poke731,2:poke785,135:poke786,199
  20. 200 dimb(7),d(2,2),s(7),t(4,31),t$(4),c(9)
  21. 210 forx=.to7:b(x)=2^x:next
  22. 220 v=53248:m=.:c=.:i=.:b=32:j=56320:s=54272:vb=50168:vx=10:vy=11:i$="":r=.:a=.
  23. 230 g=500:vx=10:vy=11:u=1:w=2:e=3:f=4:q=5:h=6:n=14:k=12:l=22:z=21:t=.:o=129
  24. 240 vc=v+30:xs=50884:ys=50897:tc=50910:jf=50923:cf=50930:md=50949:ss=50993:sh=3
  25. 250 sb=51012:sf=51043:tf=51060:pl=51108:lc=685:irq=50176:iq=740:sc=.:hi=.:ls=.
  26. 260 deffnf(x)=(peek(j)and(n+w))=.:deffnk(x)=-(fnf(.)and((peek(v+z)andf)=.))
  27. 270 deffnb(x)=-(c<>l*eandc<>o+u):deffnl(x)=-((peek(v+z)andb)=.)
  28. 280 deffnx(x)=sgn(peek(v)-peek(v+a*w)):deffny(x)=sgn(peek(v+u)-peek(v+a*w+u))
  29. 290 deffnc(x)=-((candq)>.):deffncd(x)=-((cand193)=u)
  30. 300 deffnw(x)=-(c=norc=korc=lorc=z-u):deffnr(x)=rnd(u)*(h+w)+u
  31. 310 forx=.to31:reada:t(.,x)=a:t(1,x)=a:t(2,x)=a:next
  32. 320 fori=3to4:forx=.to31:readt(i,x):nextx,i:forx=.to4:readt$(x),c(2*x),c(2*x+1)
  33. 330 next:forx=.to2:fori=.to2:readd(x,i):nexti,x:fori=.to7:reads(i):next
  34. 340 forx=.to13:b$(.)=b$(.)+"#%":b$(1)=b$(1)+"$&":next
  35. 350 sysxs,24,225:sysys,55,230:syscf,36,39,24:syssb,3,43,7:syssb,4,43,7
  36. 360 syssf,0:syssf,35:systf,0
  37. 370 sysmd,0,0:sysmd,1,0:sysmd,2,1:sysmd,3,4:sysmd,4,6:sysmd,6,0:sysmd,7,0
  38. 380 sysss,0,1:sysss,2,5:sysss,3,1:sysss,4,1
  39. 390 pokev+28,219:pokev+37,15:pokev+38,11:pokev+41,1
  40. 400 pokeiq,.:forx=.to31:poke61720+x,.:next:pokeiq,1:sysss,5,1
  41. 410 syspl,2,13:print" press fire button to start mission "
  42. 420 ls=.:t=.:i=.:print"";:fora=.to4:syspl,3+a*7,15:printt$(a);:next:gosub990
  43. 430 print:print"[147][149]"b$(1):print"[145][145]":forx=.to11:printb$(.):printb$(1):next
  44. 440 printb$(.)"":forx=.to20
  45. 450 printchr$(13)tab(28)"[194]         [194][157]";chr$(148)" ";:next
  46. 460 printchr$(13)tab(28)"[173][195][195][195][195][195][195][195][195][195][189][157]";chr$(148)"[195]";
  47. 470 print""tab(28)"[176][195][195][195][195][195][195][195][195][195][174][157]"chr$(148)"[195]"
  48. 480 printtab(28)"[194]vee kloro[194][157]"chr$(148)" [157]s"
  49. 490 printtab(28)"[171][195][195][195][195][195][195][195][195][195][179][157]"chr$(148)"[195]":printtab(30)"[176][195][195][195][195][195][195][195][174]"
  50. 500 printtab(30)"[194]       [194]":printtab(30)"[173][195][195][195][195][195][195][195][189]":printtab(31)"[176][195][195][195][195][195][174]"
  51. 510 printtab(31)"[194]score[194]":printtab(31)"[194][158]00000[194]":printtab(31)"[171][195][195][195][195][195][179]"
  52. 520 printtab(31)"[194]high [194]":printtab(31)"[194]00000[194]":printtab(31)"[171][195][195][195][195][195][179]"
  53. 530 printtab(31)"[194]ships[194]":printtab(31)"[194][159][216] [216] [216][194]":printtab(31)"[171][195][195][195][195][195][179]"
  54. 540 printtab(31)"[194]flags[194]":printtab(31)"[194]     [194]":printtab(31)"[194]     [194]"
  55. 550 printtab(31)"[171][195][195][195][195][195][179]"
  56. 560 printtab(31)"[194]miles[194]":printtab(31)"[194]     [194]":printtab(31)"[173][195][195][195][195][195][189]"
  57. 570 forx=.to7:pokevb+x,s(x):next:gosub950
  58. 580 pokev+27,-(t=.)*192:r=8+(t<w)*-16:systc,6,r:pokevb+4,50+(t>u)*n+(t>w)*-u
  59. 590 gosub880:m=.:pokev+27,-(t=.)*192
  60. 600 pokev+z,1+2+8+16+64+128:x=peek(vc):x=peek(vc):poke730,230
  61. 610 sysirq:sysjf,u
  62. 620 rem main loop
  63. 630 c=peek(vc):syspl,n*w+f,z:print""m:onfnk(.)gosub50:onfnc(.)goto660
  64. 640 onfnl(.)gosub150:onfnw(.)gosub110
  65. 650 m=m+u:on-(m<g)goto630:t=t+u+(t=f)*q:ls=ls+u:sysss,q,ls:goto580
  66. 660 onfncd(.)goto670:goto640
  67. 670 sysjf,.:pokev+z,peek(v+z)and253:syssb,.,38,f:systf,u:systc,h,roru
  68. 680 gosub30:sh=sh-u:syspl,32+sh*w,14:print" "
  69. 690 on-(sh=.)goto710:waitv+z,1,1:gosub960:pokevb,32:pokev+z,219
  70. 700 syssf,1:forx=.toe:c=peek(vc):next:sysjf,u:goto630
  71. 710 waitv+z,u,u:pokev+z,248:syspl,9,12:print" game over "
  72. 720 gosub920:forx=.to5000:next:sh=e:t=.:sc=.:pokev+z,.:gosub740:goto400
  73. 730 rem title screen
  74. 740 print"[147] [176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
  75. 750 print" [194]  [158]cleve blakemore presents...       [194]"
  76. 760 print" [223] [223][146][195][195][169] [146][169][195][195][195][195][195][195][195][195]  [146][195][169][146][169][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
  77. 770 print" [194][223] [223][169] [146][169][180][185][185][180][185][185][146]   [160] [169][146][169] [180][146]  [180] [182][165][146][184] [146][181][180] [182]  [146] [194]"
  78. 780 print" [194] [223][160] [146][169] [180][184][146] [180][184][146]    [160] [146][223][223][146] [180][146]  [180][146] [182][165][146][183][223][223][180][146] [182][146][223][223][146] [194]"
  79. 790 print" [171][195][195][223][169][195][195][180][184][184][180][184][184][146][195][195][195]  [146][195][223][223][180]  [180] [182][165][146][195][195] [180] [182]  [146][195][179]"
  80. 800 print" [194]               [185][185][146]  [223]          [146]      [194]"
  81. 810 print" [194]        [158]joystick in port two        [194]"
  82. 820 print" [171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
  83. 830 print" [194]approaching v-kls,the mystery planet[194]"
  84. 840 print" [171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
  85. 850 print" [194]"spc(36)"[194]"
  86. 860 print" [173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]":return
  87. 870 rem new terrain
  88. 880 pokeiq,.:forx=.to31:poke61720+x,t(t,x):next:pokeiq,1:syspl,31,4
  89. 890 print""t$(t):pokev+34,c(t*2):pokev+35,c(t*2+1):poke646,c(t*2+1)+8
  90. 900 syspl,(32+t*2+(t>2)*-35),17:print"\":syspl,32,21:print"    "
  91. 910 pokev+42,12:pokev+43,12:pokelc,12:pokev+44,12:pokev+45,12
  92. 920 ifsc>hithenhi=sc
  93. 930 i$=str$(hi):syspl,32,11:print"[146]";:gosub180:return
  94. 940 rem reset positions
  95. 950 pokev+12,220:pokev+14,125:pokev+13,.:pokev+15,130
  96. 960 pokev,125:pokev+1,215:pokev+2,peek(v):pokev+3,peek(v+1)-90
  97. 970 pokev+6,75:pokev+7,.:pokev+8,200:pokev+9,.:return
  98. 980 rem computerese - select terrain
  99. 990 pokes+11,64:poke s+24,15:pokes+u,25:pokes+q,16:pokes+h,240:pokes+f,17
  100. 1000 pokes+u,n*rnd(.):i=t
  101. 1010 ifusr(.)=3thent=t+1+(t=4)*5
  102. 1020 ifusr(.)=7thent=t-1+(t=.)*-5
  103. 1030 syspl,3+t*7,15:print""t$(t):ift<>ithensyspl,3+i*7,15:print"[146]"t$(i)
  104. 1040 iffnf(.)=.then1000
  105. 1050 sys52545:pokes+h,242:pokes+w,10:pokes+e,o:return
  106. 1060 rem copy char set
  107. 1070 poke56333,127:poke1,51
  108. 1080 poke781,9:poke782,1:poke90,.:poke91,216:poke88,.:poke89,248:sys41964
  109. 1090 poke1,55:poke56333,129
  110. 1100 reada:ifa=-1thenreturn
  111. 1110 forx=.to7:readd:poke61440+a*8+x,d:next:goto1100
  112. 1120 poke56578,peek(56578)or3:poke56576,peek(56576)and252
  113. 1130 poke53272,peek(53272)and15:poke648,192:printchr$(147)
  114. 1140 poke53272,(peek(53272)and240)or12
  115. 1150 poke53270,peek(53270)or16:printchr$(147):return
  116. 1160 data28,128,112,127,124,112,64,64,64
  117. 1170 data48,126,66,66,66,66,66,126,.
  118. 1180 data49,8,24,8,8,8,8,28,.
  119. 1190 data50,126,66,4,8,16,32,126,.
  120. 1200 data51,126,2,2,14,2,2,126,.
  121. 1210 data52,4,12,20,36,126,4,4,.
  122. 1220 data53,126,64,64,126,2,2,126,.
  123. 1230 data54,126,64,64,126,66,66,126,.
  124. 1240 data55,126,2,2,2,2,2,2,.
  125. 1250 data56,126,66,66,126,66,66,126,.
  126. 1260 data57,126,66,66,126,2,2,2,.
  127. 1270 data88,,24,24,219,255,219,219,.,-1
  128. 1280 data186,102,153,170,170,157,102,234
  129. 1290 data171,102,153,170,170,153,102,186
  130. 1300 data170,102,153,170,174,153,102,170
  131. 1310 data170,102,153,174,170,153,118,170
  132. 1320 data170,42,202,242,252,252,252,252
  133. 1330 data252,252,252,252,241,197,21,.
  134. 1340 data170,168,161,133,21,21,21,21
  135. 1350 data21,21,21,21,69,81,84,.
  136. 1360 data3,3,10,46,46,186,186,170
  137. 1370 data170,170,170,42,42,10,3,3
  138. 1380 data192,192,80,84,148,149,165,165
  139. 1390 data165,165,165,148,84,80,192,192
  140. 1400 rem terrain types
  141. 1410 data oceans,14,6,desert,10,9,jungle,7,5,city 1,11,15,city 2,11,9
  142. 1420 rem fire direction array
  143. 1430 data 8,1,2,7,,3,6,5,4
  144. 1440 rem sprite pointers
  145. 1450 data 32,52,33,50,36,33,34,35
  146.